package com.softer.chengxin.score.service;

import com.softer.chengxin.common.domin.CommonResult;
import com.softer.chengxin.common.domin.ManagerPageResult;
import com.softer.chengxin.common.domin.Page;
import com.softer.chengxin.score.entity.Appeal;
import com.softer.chengxin.score.entity.ScoreDTO;
import com.softer.chengxin.score.entity.ScoreDetail;

import java.util.List;

/**
 * @author Gong Zhiyang
 * @date 2018/9/26
 */
public interface ScoreDetailService {
    /**
     * 保存信息录入
     *
     * @param scoreDetail 信息实体
     * @param id          企业ID
     * @return 处理结果
     */
    CommonResult addScoreDetail(ScoreDetail scoreDetail, Integer id);

    /**
     * 先保存后，提交信息录入，只需要修改状态
     *
     * @param id    得分详情ID
     * @param state 状态
     * @return 处理结果
     */
    CommonResult updateState(Integer id, Integer state);

    /**
     * 获取录入信息详情
     *
     * @param id 录入信息Id
     * @return 信息详情
     */
    ScoreDetail getScoreDetail(Integer id);

    /**
     * 删除录入信息
     *
     * @param id 录入信息ID
     * @return 处理结果
     */
    CommonResult delete(Integer id);

    /**
     * 查询录入信息列表
     *
     * @param page      页面实体
     * @param scoreDTO  查询实体
     * @param loginName 登陆名
     * @return 列表
     */
    ManagerPageResult query(Page page, ScoreDTO scoreDTO, String loginName);

    /**
     * 企业申诉
     *
     * @param appeal 申诉实体
     * @return 结果
     */
    CommonResult appeal(Appeal appeal);

    /**
     * 获取最近的信息（用于首页展示）
     *
     * @param id        企业ID
     * @param projectId 项目ID
     * @return 信息集合
     */
    List<ScoreDetail> getCurrentMsg(Integer id, String projectId);

    /**
     * 编辑录入信息
     *
     * @param scoreDetail 录入信息实体
     * @return 录入结果
     */
    CommonResult edit(ScoreDetail scoreDetail);

    /**
     * 查询综合查询的年度集合
     *
     * @return 年度集合
     */
    List<String> getYearList();
}
